var app = getApp();
Component({

  properties: {
        gid: Number,
        type : String,
        isgroup : Number,
        size : String,
        params : Object,
    },
    options : {
        addGlobalClass : true,
    },
    data:{
        isshow : false,
        goods : {},
        rulefee : '',
        mapname : '',
        rulestock : '',
        thumb : '',
        price : '',
        level : 0,
        actmap : '',
        pername : '件',
        buynum : 1,
    },
    methods: {
        join : function( e ){
            var self = this;
            var postdata = {
                op : 'add',
                id : self.data.gid,
                type : 'list',
                num : self.data.buynum,
                mapid : self.data.actmap,
            };
            if(self.data.type == 'rule' && self.data.actmap){
                self.triggerEvent('setRule',self.data.actmap);
                self.setData({
                    actmap : '',
                    isshow : false,
                })
                return false;
            }
            app.com.getLocation(self,function(loc){
                postdata.lat = loc.latitude;
                postdata.lng = loc.longitude;

                app.com.http('cart','POST',postdata,0,true,'','',function(res){
                    if(res.data.errno == 2){
                        self.setData({
                            isshow : true,
                            rule : res.data.data.rule ? res.data.data.rule : [],
                            rulemap : res.data.data.rulemap ? res.data.data.rulemap : [],
                            title : res.data.data.title ? res.data.data.title : '',
                            thumb : res.data.data.thumb ? res.data.data.thumb : '',
                            price : res.data.data.price ? res.data.data.price : '',
                            rulestock : res.data.data.rulestock ? res.data.data.rulestock : '',
                            level : res.data.data.level ? res.data.data.level : 0,
                            pername : res.data.data.pername ? res.data.data.pername : '件',
                        })
                    }else{
                        wx.showToast({
                            title: res.data.message,
                            icon: 'none',
                            duration: 1200,
                        })
                        self.setData({
                            isshow : false,
                            actmap : '',
                        })
                        if( res.data.data ){
                            self.triggerEvent('setCartnum',{num:res.data.data.nownum});
                        }
                    }
                });
            })
        },
        onCloserule(){
            this.setData({
                isshow : false,
                actmap : '',
            })
            return false;
        },
        changeRule( e ){
            var self = this;
            for (var i = 0; i < self.data.rule.length; i++) {
                if( self.data.rule[i].pro.id == e.currentTarget.dataset.oid ){
                    var target = 'rule['+i+'].actitem';
                    self.setData({
                        [target] : e.currentTarget.dataset.tid,
                    });
                    var selectarr = [];
                    for (var j = 0; j < self.data.rule.length; j++) {
                        if( self.data.rule[j].actitem ) {
                            selectarr.push( self.data.rule[j].actitem );
                        }
                    }
                    if( selectarr.length < self.data.rule.length ) return false;
                    for (var j = 0; j < self.data.rulemap.length; j++) {
                        var thisstr = ( self.data.rulemap[j].id + '' ).split(":");
                        if( thisstr.sort().toString() == selectarr.sort().toString() ){

                            if( self.data.isgroup == 1){
                                var ruleprice = self.data.level == 1 ? self.data.rulemap[j].ugprice : self.data.rulemap[j].groupprice;
                            }else{
                                var ruleprice = self.data.level == 1 ? self.data.rulemap[j].uprice : self.data.rulemap[j].nowprice;
                            }
                            
                            self.setData({
                                'rulestock' : self.data.rulemap[j].stock,
                                'price' : ruleprice,
                                'actmap' : self.data.rulemap[j].id,
                                'mapname' : self.data.rulemap[j].name,
                                buynum : self.data.buynum > self.data.rulemap[j].stock ? self.data.rulemap[j].stock : self.data.buynum,
                            });
                            return false;
                        }
                    }
                    return false;
                }
            }
        },
        stop(){
            return false;
        },
        changebuynum(e){
            this.setData({
                buynum : e.detail
            })
        }
    }

})